package Model;

import java.util.ArrayList;

/**
 * Holds all GameData in any given puzzle game
 * Reduces the # of dependencies of the controller
 * -Created Class(Feb 11,2011)
 * Samual Martelli
 * </pre>
 */
public class GameData {

	private Game game;
	private Player playerOfGame;
	private ArrayList<Monster> gameMonsters;
	private Maze gameMaze;


	public GameData(Game newGame, Player newPlayer, 
			ArrayList<Monster> newMonsters,Maze newMaze){
			game = newGame;
			playerOfGame = newPlayer;
			gameMonsters = newMonsters;
			gameMaze = newMaze;
	}
	//getters to invoke the methods of the entity classes
	public Game getGame() {
		return game;
	}

	public Player getPlayerOfGame() {
		return playerOfGame;
	}

	public ArrayList<Monster> getMonsters() {
		return gameMonsters;
	}
	
	public Maze getGameMaze(){
		return gameMaze;
	}
	
	//add a new monster to the list
	public void addMonster(Monster newGuy){
		gameMonsters.add(newGuy);
	}
	
	//remove one that dies
	public void removeMonster(Monster deadGuy){
		gameMonsters.remove(deadGuy);
	}
	
	//gets rid of all monsters
	public void removeMonsters(){
		gameMonsters.clear();
	}
}
